[INFO] cloning repository https://github.com/kei-s/wacir
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kei-s/wacir" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkei-s%2Fwacir", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkei-s%2Fwacir'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2f11280a87157ce21e9348521e1184d858238154
[INFO] testing kei-s/wacir against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkei-s%2Fwacir" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kei-s/wacir
[INFO] finished tweaking git repo https://github.com/kei-s/wacir
[INFO] tweaked toml for git repo https://github.com/kei-s/wacir written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kei-s/wacir on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kei-s/wacir already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a809d6534bd9dc21e55202cf4414db9ecebc57804fc1ecd653ffac84d2e30264
[INFO] running `Command { std: "docker" "start" "-a" "a809d6534bd9dc21e55202cf4414db9ecebc57804fc1ecd653ffac84d2e30264", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a809d6534bd9dc21e55202cf4414db9ecebc57804fc1ecd653ffac84d2e30264", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a809d6534bd9dc21e55202cf4414db9ecebc57804fc1ecd653ffac84d2e30264", kill_on_drop: false }`
[INFO] [stdout] a809d6534bd9dc21e55202cf4414db9ecebc57804fc1ecd653ffac84d2e30264
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e16357e883c3f0e82c6c100765ded69dca85df91d13c2ef17c5475b52b307a50
[INFO] running `Command { std: "docker" "start" "-a" "e16357e883c3f0e82c6c100765ded69dca85df91d13c2ef17c5475b52b307a50", kill_on_drop: false }`
[INFO] [stderr]    Compiling wacir v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: enum `Node` is never used
[INFO] [stdout]    --> src/ast.rs:298:10
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub enum Node {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modify` is never used
[INFO] [stdout]    --> src/ast.rs:305:8
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn modify<P: FnMut(Node) -> Node>(target: Node, modifier: Rc<RefCell<P>>) -> Node {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ConcatInstructions` is never used
[INFO] [stdout]  --> src/code.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait ConcatInstructions {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRUE` is never used
[INFO] [stdout]   --> src/evaluator.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const TRUE: Object = Object::Boolean(true);
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FALSE` is never used
[INFO] [stdout]   --> src/evaluator.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const FALSE: Object = Object::Boolean(false);
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NULL` is never used
[INFO] [stdout]   --> src/evaluator.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const NULL: Object = Object::Null;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_enclosed`, `get`, and `set` are never used
[INFO] [stdout]   --> src/evaluator.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Environment {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 23 |     pub fn new() -> Rc<RefCell<Environment>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn new_enclosed(outer: Rc<RefCell<Environment>>) -> Rc<RefCell<Environment>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn get(&self, name: &str) -> Option<Object> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn set(&mut self, name: &str, val: &Object) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Eval` is never used
[INFO] [stdout]   --> src/evaluator.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub trait Eval {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `native_bool_to_boolean_object` is never used
[INFO] [stdout]    --> src/evaluator.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn native_bool_to_boolean_object(input: bool) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_prefix_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn eval_prefix_expression(operator: &str, right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_bang_operator_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn eval_bang_operator_expression(right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_minus_prefix_operator_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn eval_minus_prefix_operator_expression(right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_infix_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn eval_infix_expression(operator: &str, left: Object, right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_integer_infix_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn eval_integer_infix_expression(operator: &str, left_val: i64, right_val: i64) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_function` is never used
[INFO] [stdout]    --> src/evaluator.rs:312:4
[INFO] [stdout]     |
[INFO] [stdout] 312 | fn apply_function(func: Object, args: Vec<Object>) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unwrap_return_value` is never used
[INFO] [stdout]    --> src/evaluator.rs:330:4
[INFO] [stdout]     |
[INFO] [stdout] 330 | fn unwrap_return_value(obj: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_string_infix_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:341:4
[INFO] [stdout]     |
[INFO] [stdout] 341 | fn eval_string_infix_expression(operator: &str, left: &str, right: &str) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_index_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:375:4
[INFO] [stdout]     |
[INFO] [stdout] 375 | fn eval_index_expression(left: Object, index: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_array_index_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:387:4
[INFO] [stdout]     |
[INFO] [stdout] 387 | fn eval_array_index_expression(elements: &[Object], idx: i64) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_hash_index_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:418:4
[INFO] [stdout]     |
[INFO] [stdout] 418 | fn eval_hash_index_expression(hash_object: &Hash, index: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_truthy` is never used
[INFO] [stdout]    --> src/evaluator.rs:431:4
[INFO] [stdout]     |
[INFO] [stdout] 431 | fn is_truthy(obj: Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_error` is never used
[INFO] [stdout]    --> src/evaluator.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn new_error(message: String) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_error` is never used
[INFO] [stdout]    --> src/evaluator.rs:444:4
[INFO] [stdout]     |
[INFO] [stdout] 444 | fn is_error(obj: &Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quote` is never used
[INFO] [stdout]    --> src/evaluator.rs:452:4
[INFO] [stdout]     |
[INFO] [stdout] 452 | fn quote(node: &Expression, env: &mut Rc<RefCell<Environment>>) -> Object {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_unquote_calls` is never used
[INFO] [stdout]    --> src/evaluator.rs:457:4
[INFO] [stdout]     |
[INFO] [stdout] 457 | fn eval_unquote_calls(quoted: &Expression, env: &mut Rc<RefCell<Environment>>) -> Expression {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_object_to_ast_node` is never used
[INFO] [stdout]    --> src/evaluator.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn convert_object_to_ast_node(obj: Object) -> Expression {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_unquote_call` is never used
[INFO] [stdout]    --> src/evaluator.rs:491:4
[INFO] [stdout]     |
[INFO] [stdout] 491 | fn is_unquote_call(node: &Node) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `define_macros` is never used
[INFO] [stdout]    --> src/evaluator.rs:502:8
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub fn define_macros(program: &mut Program, env: Rc<RefCell<Environment>>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_macro_definition` is never used
[INFO] [stdout]    --> src/evaluator.rs:517:4
[INFO] [stdout]     |
[INFO] [stdout] 517 | fn is_macro_definition(node: &Statement) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_macro` is never used
[INFO] [stdout]    --> src/evaluator.rs:529:4
[INFO] [stdout]     |
[INFO] [stdout] 529 | fn add_macro(stmt: &Statement, env: Rc<RefCell<Environment>>) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expand_macros` is never used
[INFO] [stdout]    --> src/evaluator.rs:546:8
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub fn expand_macros(program: Program, env: &mut Rc<RefCell<Environment>>) -> Program {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_macro_call` is never used
[INFO] [stdout]    --> src/evaluator.rs:577:4
[INFO] [stdout]     |
[INFO] [stdout] 577 | fn is_macro_call(exp: &CallExpression, env: &Rc<RefCell<Environment>>) -> Option<Macro> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quote_args` is never used
[INFO] [stdout]    --> src/evaluator.rs:593:4
[INFO] [stdout]     |
[INFO] [stdout] 593 | fn quote_args(exp: &CallExpression) -> Vec<Object> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `len` is never used
[INFO] [stdout]    --> src/evaluator.rs:606:12
[INFO] [stdout]     |
[INFO] [stdout] 606 |     pub fn len(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first` is never used
[INFO] [stdout]    --> src/evaluator.rs:623:12
[INFO] [stdout]     |
[INFO] [stdout] 623 |     pub fn first(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `last` is never used
[INFO] [stdout]    --> src/evaluator.rs:644:12
[INFO] [stdout]     |
[INFO] [stdout] 644 |     pub fn last(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rest` is never used
[INFO] [stdout]    --> src/evaluator.rs:665:12
[INFO] [stdout]     |
[INFO] [stdout] 665 |     pub fn rest(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push` is never used
[INFO] [stdout]    --> src/evaluator.rs:688:12
[INFO] [stdout]     |
[INFO] [stdout] 688 |     pub fn push(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puts` is never used
[INFO] [stdout]    --> src/evaluator.rs:707:12
[INFO] [stdout]     |
[INFO] [stdout] 707 |     pub fn puts(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ReturnValue`, `Function`, `Builtin`, `Quote`, `Macro`, and `Error` are never constructed
[INFO] [stdout]   --> src/object.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub enum Object {
[INFO] [stdout]    |              ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |         ReturnValue(Box<Object>),
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 17 |         Function(Function),
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 18 |         CompiledFunction(CompiledFunction),
[INFO] [stdout] 19 |         Builtin(Builtin),
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |         Quote(Quote),
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 24 |         Macro(Macro),
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 25 |         => // custom format
[INFO] [stdout] 26 |         Error(String) => "Error: {}",
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Object` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `enum_with_fmt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Eof` is never constructed
[INFO] [stdout]  --> src/token.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum TokenType {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] 3 |     Illegal,
[INFO] [stdout] 4 |     Eof,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stack_top` is never used
[INFO] [stdout]    --> src/vm/mod.rs:394:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl<'a> VM<'a> {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 394 |     pub fn stack_top(&self) -> Option<&Object> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/object.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                        --------- in this derive macro expansion
[INFO] [stdout] 86 | pub struct Builtin {
[INFO] [stdout] 87 |     pub func: fn(Vec<Object>) -> Object,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.98s
[INFO] running `Command { std: "docker" "inspect" "e16357e883c3f0e82c6c100765ded69dca85df91d13c2ef17c5475b52b307a50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e16357e883c3f0e82c6c100765ded69dca85df91d13c2ef17c5475b52b307a50", kill_on_drop: false }`
[INFO] [stdout] e16357e883c3f0e82c6c100765ded69dca85df91d13c2ef17c5475b52b307a50
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 664f9f8dc914cab80d4a8867f9dec00141f36a1188ccb9ef14c2943da9de3f56
[INFO] running `Command { std: "docker" "start" "-a" "664f9f8dc914cab80d4a8867f9dec00141f36a1188ccb9ef14c2943da9de3f56", kill_on_drop: false }`
[INFO] [stdout] warning: enum `Node` is never used
[INFO] [stdout]    --> src/ast.rs:298:10
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub enum Node {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modify` is never used
[INFO] [stdout]    --> src/ast.rs:305:8
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn modify<P: FnMut(Node) -> Node>(target: Node, modifier: Rc<RefCell<P>>) -> Node {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ConcatInstructions` is never used
[INFO] [stdout]  --> src/code.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait ConcatInstructions {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRUE` is never used
[INFO] [stdout]   --> src/evaluator.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const TRUE: Object = Object::Boolean(true);
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FALSE` is never used
[INFO] [stdout]   --> src/evaluator.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const FALSE: Object = Object::Boolean(false);
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NULL` is never used
[INFO] [stdout]   --> src/evaluator.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const NULL: Object = Object::Null;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_enclosed`, `get`, and `set` are never used
[INFO] [stdout]   --> src/evaluator.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Environment {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 23 |     pub fn new() -> Rc<RefCell<Environment>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn new_enclosed(outer: Rc<RefCell<Environment>>) -> Rc<RefCell<Environment>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn get(&self, name: &str) -> Option<Object> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn set(&mut self, name: &str, val: &Object) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Eval` is never used
[INFO] [stdout]   --> src/evaluator.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub trait Eval {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `native_bool_to_boolean_object` is never used
[INFO] [stdout]    --> src/evaluator.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn native_bool_to_boolean_object(input: bool) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_prefix_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn eval_prefix_expression(operator: &str, right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_bang_operator_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn eval_bang_operator_expression(right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_minus_prefix_operator_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn eval_minus_prefix_operator_expression(right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_infix_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn eval_infix_expression(operator: &str, left: Object, right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_integer_infix_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn eval_integer_infix_expression(operator: &str, left_val: i64, right_val: i64) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_function` is never used
[INFO] [stdout]    --> src/evaluator.rs:312:4
[INFO] [stdout]     |
[INFO] [stdout] 312 | fn apply_function(func: Object, args: Vec<Object>) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unwrap_return_value` is never used
[INFO] [stdout]    --> src/evaluator.rs:330:4
[INFO] [stdout]     |
[INFO] [stdout] 330 | fn unwrap_return_value(obj: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_string_infix_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:341:4
[INFO] [stdout]     |
[INFO] [stdout] 341 | fn eval_string_infix_expression(operator: &str, left: &str, right: &str) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_index_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:375:4
[INFO] [stdout]     |
[INFO] [stdout] 375 | fn eval_index_expression(left: Object, index: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_array_index_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:387:4
[INFO] [stdout]     |
[INFO] [stdout] 387 | fn eval_array_index_expression(elements: &[Object], idx: i64) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_hash_index_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:418:4
[INFO] [stdout]     |
[INFO] [stdout] 418 | fn eval_hash_index_expression(hash_object: &Hash, index: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_truthy` is never used
[INFO] [stdout]    --> src/evaluator.rs:431:4
[INFO] [stdout]     |
[INFO] [stdout] 431 | fn is_truthy(obj: Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_error` is never used
[INFO] [stdout]    --> src/evaluator.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn new_error(message: String) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_error` is never used
[INFO] [stdout]    --> src/evaluator.rs:444:4
[INFO] [stdout]     |
[INFO] [stdout] 444 | fn is_error(obj: &Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quote` is never used
[INFO] [stdout]    --> src/evaluator.rs:452:4
[INFO] [stdout]     |
[INFO] [stdout] 452 | fn quote(node: &Expression, env: &mut Rc<RefCell<Environment>>) -> Object {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_unquote_calls` is never used
[INFO] [stdout]    --> src/evaluator.rs:457:4
[INFO] [stdout]     |
[INFO] [stdout] 457 | fn eval_unquote_calls(quoted: &Expression, env: &mut Rc<RefCell<Environment>>) -> Expression {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_object_to_ast_node` is never used
[INFO] [stdout]    --> src/evaluator.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn convert_object_to_ast_node(obj: Object) -> Expression {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_unquote_call` is never used
[INFO] [stdout]    --> src/evaluator.rs:491:4
[INFO] [stdout]     |
[INFO] [stdout] 491 | fn is_unquote_call(node: &Node) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `define_macros` is never used
[INFO] [stdout]    --> src/evaluator.rs:502:8
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub fn define_macros(program: &mut Program, env: Rc<RefCell<Environment>>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_macro_definition` is never used
[INFO] [stdout]    --> src/evaluator.rs:517:4
[INFO] [stdout]     |
[INFO] [stdout] 517 | fn is_macro_definition(node: &Statement) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_macro` is never used
[INFO] [stdout]    --> src/evaluator.rs:529:4
[INFO] [stdout]     |
[INFO] [stdout] 529 | fn add_macro(stmt: &Statement, env: Rc<RefCell<Environment>>) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expand_macros` is never used
[INFO] [stdout]    --> src/evaluator.rs:546:8
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub fn expand_macros(program: Program, env: &mut Rc<RefCell<Environment>>) -> Program {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_macro_call` is never used
[INFO] [stdout]    --> src/evaluator.rs:577:4
[INFO] [stdout]     |
[INFO] [stdout] 577 | fn is_macro_call(exp: &CallExpression, env: &Rc<RefCell<Environment>>) -> Option<Macro> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quote_args` is never used
[INFO] [stdout]    --> src/evaluator.rs:593:4
[INFO] [stdout]     |
[INFO] [stdout] 593 | fn quote_args(exp: &CallExpression) -> Vec<Object> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `len` is never used
[INFO] [stdout]    --> src/evaluator.rs:606:12
[INFO] [stdout]     |
[INFO] [stdout] 606 |     pub fn len(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first` is never used
[INFO] [stdout]    --> src/evaluator.rs:623:12
[INFO] [stdout]     |
[INFO] [stdout] 623 |     pub fn first(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `last` is never used
[INFO] [stdout]    --> src/evaluator.rs:644:12
[INFO] [stdout]     |
[INFO] [stdout] 644 |     pub fn last(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rest` is never used
[INFO] [stdout]    --> src/evaluator.rs:665:12
[INFO] [stdout]     |
[INFO] [stdout] 665 |     pub fn rest(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push` is never used
[INFO] [stdout]    --> src/evaluator.rs:688:12
[INFO] [stdout]     |
[INFO] [stdout] 688 |     pub fn push(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puts` is never used
[INFO] [stdout]    --> src/evaluator.rs:707:12
[INFO] [stdout]     |
[INFO] [stdout] 707 |     pub fn puts(args: Vec<Object>) -> Object {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wacir v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variants `ReturnValue`, `Function`, `Builtin`, `Quote`, `Macro`, and `Error` are never constructed
[INFO] [stdout]   --> src/object.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub enum Object {
[INFO] [stdout]    |              ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |         ReturnValue(Box<Object>),
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 17 |         Function(Function),
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 18 |         CompiledFunction(CompiledFunction),
[INFO] [stdout] 19 |         Builtin(Builtin),
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |         Quote(Quote),
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 24 |         Macro(Macro),
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 25 |         => // custom format
[INFO] [stdout] 26 |         Error(String) => "Error: {}",
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Object` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `enum_with_fmt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Eof` is never constructed
[INFO] [stdout]  --> src/token.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum TokenType {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] 3 |     Illegal,
[INFO] [stdout] 4 |     Eof,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stack_top` is never used
[INFO] [stdout]    --> src/vm/mod.rs:394:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl<'a> VM<'a> {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 394 |     pub fn stack_top(&self) -> Option<&Object> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/object.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                        --------- in this derive macro expansion
[INFO] [stdout] 86 | pub struct Builtin {
[INFO] [stdout] 87 |     pub func: fn(Vec<Object>) -> Object,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Eof` is never constructed
[INFO] [stdout]  --> src/token.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum TokenType {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] 3 |     Illegal,
[INFO] [stdout] 4 |     Eof,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stack_top` is never used
[INFO] [stdout]    --> src/vm/mod.rs:394:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl<'a> VM<'a> {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 394 |     pub fn stack_top(&self) -> Option<&Object> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/compiler/symbol_table.rs:165:32
[INFO] [stdout]     |
[INFO] [stdout] 165 |                 assert!(false, format!("name {} not resolvable", sym.name));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 165 -                 assert!(false, format!("name {} not resolvable", sym.name));
[INFO] [stdout] 165 +                 assert!(false, "name {} not resolvable", sym.name);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/compiler/symbol_table.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 210 -                 assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stdout] 210 +                 assert!(false, "name {} not resulved", sym.name)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/compiler/symbol_table.rs:261:36
[INFO] [stdout]     |
[INFO] [stdout] 261 |                     assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 261 -                     assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stdout] 261 +                     assert!(false, "name {} not resulved", sym.name)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/compiler/symbol_table.rs:295:36
[INFO] [stdout]     |
[INFO] [stdout] 295 |                     assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 295 -                     assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stdout] 295 +                     assert!(false, "name {} not resulved", sym.name)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/evaluator.rs:990:28
[INFO] [stdout]     |
[INFO] [stdout] 990 |             assert!(false, message);
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 990 |             assert!(false, "{}", message);
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/object.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                        --------- in this derive macro expansion
[INFO] [stdout] 86 | pub struct Builtin {
[INFO] [stdout] 87 |     pub func: fn(Vec<Object>) -> Object,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.48s
[INFO] running `Command { std: "docker" "inspect" "664f9f8dc914cab80d4a8867f9dec00141f36a1188ccb9ef14c2943da9de3f56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "664f9f8dc914cab80d4a8867f9dec00141f36a1188ccb9ef14c2943da9de3f56", kill_on_drop: false }`
[INFO] [stdout] 664f9f8dc914cab80d4a8867f9dec00141f36a1188ccb9ef14c2943da9de3f56
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0b3b5e3181594cac9e27c8b81c4be6c3f9d03ed8016dc87a6e600643690760d3
[INFO] running `Command { std: "docker" "start" "-a" "0b3b5e3181594cac9e27c8b81c4be6c3f9d03ed8016dc87a6e600643690760d3", kill_on_drop: false }`
[INFO] [stderr] warning: enum `Node` is never used
[INFO] [stderr]    --> src/ast.rs:298:10
[INFO] [stderr]     |
[INFO] [stderr] 298 | pub enum Node {
[INFO] [stderr]     |          ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `modify` is never used
[INFO] [stderr]    --> src/ast.rs:305:8
[INFO] [stderr]     |
[INFO] [stderr] 305 | pub fn modify<P: FnMut(Node) -> Node>(target: Node, modifier: Rc<RefCell<P>>) -> Node {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `ConcatInstructions` is never used
[INFO] [stderr]  --> src/code.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub trait ConcatInstructions {
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TRUE` is never used
[INFO] [stderr]   --> src/evaluator.rs:12:7
[INFO] [stderr]    |
[INFO] [stderr] 12 | const TRUE: Object = Object::Boolean(true);
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FALSE` is never used
[INFO] [stderr]   --> src/evaluator.rs:13:7
[INFO] [stderr]    |
[INFO] [stderr] 13 | const FALSE: Object = Object::Boolean(false);
[INFO] [stderr]    |       ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NULL` is never used
[INFO] [stderr]   --> src/evaluator.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 | const NULL: Object = Object::Null;
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `new_enclosed`, `get`, and `set` are never used
[INFO] [stderr]   --> src/evaluator.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl Environment {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] 23 |     pub fn new() -> Rc<RefCell<Environment>> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     pub fn new_enclosed(outer: Rc<RefCell<Environment>>) -> Rc<RefCell<Environment>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 38 |     fn get(&self, name: &str) -> Option<Object> {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     fn set(&mut self, name: &str, val: &Object) {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Eval` is never used
[INFO] [stderr]   --> src/evaluator.rs:53:11
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub trait Eval {
[INFO] [stderr]    |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `native_bool_to_boolean_object` is never used
[INFO] [stderr]    --> src/evaluator.rs:138:4
[INFO] [stderr]     |
[INFO] [stderr] 138 | fn native_bool_to_boolean_object(input: bool) -> Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `eval_prefix_expression` is never used
[INFO] [stderr]    --> src/evaluator.rs:154:4
[INFO] [stderr]     |
[INFO] [stderr] 154 | fn eval_prefix_expression(operator: &str, right: Object) -> Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `eval_bang_operator_expression` is never used
[INFO] [stderr]    --> src/evaluator.rs:162:4
[INFO] [stderr]     |
[INFO] [stderr] 162 | fn eval_bang_operator_expression(right: Object) -> Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `eval_minus_prefix_operator_expression` is never used
[INFO] [stderr]    --> src/evaluator.rs:171:4
[INFO] [stderr]     |
[INFO] [stderr] 171 | fn eval_minus_prefix_operator_expression(right: Object) -> Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `eval_infix_expression` is never used
[INFO] [stderr]    --> src/evaluator.rs:191:4
[INFO] [stderr]     |
[INFO] [stderr] 191 | fn eval_infix_expression(operator: &str, left: Object, right: Object) -> Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `eval_integer_infix_expression` is never used
[INFO] [stderr]    --> src/evaluator.rs:222:4
[INFO] [stderr]     |
[INFO] [stderr] 222 | fn eval_integer_infix_expression(operator: &str, left_val: i64, right_val: i64) -> Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `apply_function` is never used
[INFO] [stderr]    --> src/evaluator.rs:312:4
[INFO] [stderr]     |
[INFO] [stderr] 312 | fn apply_function(func: Object, args: Vec<Object>) -> Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `unwrap_return_value` is never used
[INFO] [stderr]    --> src/evaluator.rs:330:4
[INFO] [stderr]     |
[INFO] [stderr] 330 | fn unwrap_return_value(obj: Object) -> Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `eval_string_infix_expression` is never used
[INFO] [stderr]    --> src/evaluator.rs:341:4
[INFO] [stderr]     |
[INFO] [stderr] 341 | fn eval_string_infix_expression(operator: &str, left: &str, right: &str) -> Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `eval_index_expression` is never used
[INFO] [stderr]    --> src/evaluator.rs:375:4
[INFO] [stderr]     |
[INFO] [stderr] 375 | fn eval_index_expression(left: Object, index: Object) -> Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `eval_array_index_expression` is never used
[INFO] [stderr]    --> src/evaluator.rs:387:4
[INFO] [stderr]     |
[INFO] [stderr] 387 | fn eval_array_index_expression(elements: &[Object], idx: i64) -> Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `eval_hash_index_expression` is never used
[INFO] [stderr]    --> src/evaluator.rs:418:4
[INFO] [stderr]     |
[INFO] [stderr] 418 | fn eval_hash_index_expression(hash_object: &Hash, index: Object) -> Object {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_truthy` is never used
[INFO] [stderr]    --> src/evaluator.rs:431:4
[INFO] [stderr]     |
[INFO] [stderr] 431 | fn is_truthy(obj: Object) -> bool {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `new_error` is never used
[INFO] [stderr]    --> src/evaluator.rs:440:4
[INFO] [stderr]     |
[INFO] [stderr] 440 | fn new_error(message: String) -> Object {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_error` is never used
[INFO] [stderr]    --> src/evaluator.rs:444:4
[INFO] [stderr]     |
[INFO] [stderr] 444 | fn is_error(obj: &Object) -> bool {
[INFO] [stderr]     |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `quote` is never used
[INFO] [stderr]    --> src/evaluator.rs:452:4
[INFO] [stderr]     |
[INFO] [stderr] 452 | fn quote(node: &Expression, env: &mut Rc<RefCell<Environment>>) -> Object {
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `eval_unquote_calls` is never used
[INFO] [stderr]    --> src/evaluator.rs:457:4
[INFO] [stderr]     |
[INFO] [stderr] 457 | fn eval_unquote_calls(quoted: &Expression, env: &mut Rc<RefCell<Environment>>) -> Expression {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `convert_object_to_ast_node` is never used
[INFO] [stderr]    --> src/evaluator.rs:482:4
[INFO] [stderr]     |
[INFO] [stderr] 482 | fn convert_object_to_ast_node(obj: Object) -> Expression {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_unquote_call` is never used
[INFO] [stderr]    --> src/evaluator.rs:491:4
[INFO] [stderr]     |
[INFO] [stderr] 491 | fn is_unquote_call(node: &Node) -> bool {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `define_macros` is never used
[INFO] [stderr]    --> src/evaluator.rs:502:8
[INFO] [stderr]     |
[INFO] [stderr] 502 | pub fn define_macros(program: &mut Program, env: Rc<RefCell<Environment>>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_macro_definition` is never used
[INFO] [stderr]    --> src/evaluator.rs:517:4
[INFO] [stderr]     |
[INFO] [stderr] 517 | fn is_macro_definition(node: &Statement) -> bool {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `add_macro` is never used
[INFO] [stderr]    --> src/evaluator.rs:529:4
[INFO] [stderr]     |
[INFO] [stderr] 529 | fn add_macro(stmt: &Statement, env: Rc<RefCell<Environment>>) {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `expand_macros` is never used
[INFO] [stderr]    --> src/evaluator.rs:546:8
[INFO] [stderr]     |
[INFO] [stderr] 546 | pub fn expand_macros(program: Program, env: &mut Rc<RefCell<Environment>>) -> Program {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_macro_call` is never used
[INFO] [stderr]    --> src/evaluator.rs:577:4
[INFO] [stderr]     |
[INFO] [stderr] 577 | fn is_macro_call(exp: &CallExpression, env: &Rc<RefCell<Environment>>) -> Option<Macro> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `quote_args` is never used
[INFO] [stderr]    --> src/evaluator.rs:593:4
[INFO] [stderr]     |
[INFO] [stderr] 593 | fn quote_args(exp: &CallExpression) -> Vec<Object> {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `len` is never used
[INFO] [stderr]    --> src/evaluator.rs:606:12
[INFO] [stderr]     |
[INFO] [stderr] 606 |     pub fn len(args: Vec<Object>) -> Object {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `first` is never used
[INFO] [stderr]    --> src/evaluator.rs:623:12
[INFO] [stderr]     |
[INFO] [stderr] 623 |     pub fn first(args: Vec<Object>) -> Object {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `last` is never used
[INFO] [stderr]    --> src/evaluator.rs:644:12
[INFO] [stderr]     |
[INFO] [stderr] 644 |     pub fn last(args: Vec<Object>) -> Object {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rest` is never used
[INFO] [stderr]    --> src/evaluator.rs:665:12
[INFO] [stderr]     |
[INFO] [stderr] 665 |     pub fn rest(args: Vec<Object>) -> Object {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `push` is never used
[INFO] [stderr]    --> src/evaluator.rs:688:12
[INFO] [stderr]     |
[INFO] [stderr] 688 |     pub fn push(args: Vec<Object>) -> Object {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `puts` is never used
[INFO] [stderr]    --> src/evaluator.rs:707:12
[INFO] [stderr]     |
[INFO] [stderr] 707 |     pub fn puts(args: Vec<Object>) -> Object {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `ReturnValue`, `Function`, `Builtin`, `Quote`, `Macro`, and `Error` are never constructed
[INFO] [stderr]   --> src/object.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub enum Object {
[INFO] [stderr]    |              ------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 16 |         ReturnValue(Box<Object>),
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 17 |         Function(Function),
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 18 |         CompiledFunction(CompiledFunction),
[INFO] [stderr] 19 |         Builtin(Builtin),
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 23 |         Quote(Quote),
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 24 |         Macro(Macro),
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 25 |         => // custom format
[INFO] [stderr] 26 |         Error(String) => "Error: {}",
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Object` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: this warning originates in the macro `enum_with_fmt` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Eof` is never constructed
[INFO] [stderr]  --> src/token.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub enum TokenType {
[INFO] [stderr]   |          --------- variant in this enum
[INFO] [stderr] 3 |     Illegal,
[INFO] [stderr] 4 |     Eof,
[INFO] [stderr]   |     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `stack_top` is never used
[INFO] [stderr]    --> src/vm/mod.rs:394:12
[INFO] [stderr]     |
[INFO] [stderr]  33 | impl<'a> VM<'a> {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 394 |     pub fn stack_top(&self) -> Option<&Object> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]   --> src/object.rs:87:5
[INFO] [stderr]    |
[INFO] [stderr] 85 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stderr]    |                        --------- in this derive macro expansion
[INFO] [stderr] 86 | pub struct Builtin {
[INFO] [stderr] 87 |     pub func: fn(Vec<Object>) -> Object,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the address of the same function can vary between different codegen units
[INFO] [stderr]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `wacir` (lib) generated 43 warnings
[INFO] [stderr] warning: variant `Eof` is never constructed
[INFO] [stderr]  --> src/token.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub enum TokenType {
[INFO] [stderr]   |          --------- variant in this enum
[INFO] [stderr] 3 |     Illegal,
[INFO] [stderr] 4 |     Eof,
[INFO] [stderr]   |     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `TokenType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/compiler/symbol_table.rs:165:32
[INFO] [stderr]     |
[INFO] [stderr] 165 |                 assert!(false, format!("name {} not resolvable", sym.name));
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 165 -                 assert!(false, format!("name {} not resolvable", sym.name));
[INFO] [stderr] 165 +                 assert!(false, "name {} not resolvable", sym.name);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/compiler/symbol_table.rs:210:32
[INFO] [stderr]     |
[INFO] [stderr] 210 |                 assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 210 -                 assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stderr] 210 +                 assert!(false, "name {} not resulved", sym.name)
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/compiler/symbol_table.rs:261:36
[INFO] [stderr]     |
[INFO] [stderr] 261 |                     assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 261 -                     assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stderr] 261 +                     assert!(false, "name {} not resulved", sym.name)
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/compiler/symbol_table.rs:295:36
[INFO] [stderr]     |
[INFO] [stderr] 295 |                     assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 295 -                     assert!(false, format!("name {} not resulved", sym.name))
[INFO] [stderr] 295 +                     assert!(false, "name {} not resulved", sym.name)
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/evaluator.rs:990:28
[INFO] [stderr]     |
[INFO] [stderr] 990 |             assert!(false, message);
[INFO] [stderr]     |                            ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 990 |             assert!(false, "{}", message);
[INFO] [stderr]     |                            +++++
[INFO] [stderr] 
[INFO] [stderr] warning: `wacir` (lib test) generated 8 warnings (2 duplicates) (run `cargo fix --lib -p wacir --tests` to apply 5 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wacir-46109cd1d4451809)
[INFO] [stdout] 
[INFO] [stdout] running 83 tests
[INFO] [stdout] test ast::tests::test_string ... ok
[INFO] [stdout] test compiler::symbol_table::tests::test_resolve_global ... ok
[INFO] [stdout] test compiler::symbol_table::tests::test_resolve_local ... ok
[INFO] [stdout] test code::tests::test_read_operands ... ok
[INFO] [stdout] test compiler::symbol_table::tests::test_define ... ok
[INFO] [stdout] test compiler::tests::test_array_literals ... ok
[INFO] [stdout] test compiler::tests::test_boolean_expressions ... ok
[INFO] [stdout] test compiler::tests::test_compiler_scopes ... ok
[INFO] [stdout] test compiler::tests::test_conditionals ... ok
[INFO] [stdout] test ast::tests::test_modify ... ok
[INFO] [stdout] test compiler::tests::test_functions ... ok
[INFO] [stdout] test compiler::tests::test_functions_without_return_value ... ok
[INFO] [stdout] test compiler::symbol_table::tests::test_resolve_nested_local ... ok
[INFO] [stdout] test compiler::tests::test_function_calls ... ok
[INFO] [stdout] test compiler::tests::test_hash_literals ... ok
[INFO] [stdout] test compiler::tests::test_index_expresssions ... ok
[INFO] [stdout] test evaluator::tests::test_array_literals ... ok
[INFO] [stdout] test compiler::tests::test_integer_arithmetic ... ok
[INFO] [stdout] test compiler::tests::test_let_statement_scopes ... ok
[INFO] [stdout] test evaluator::tests::test_closures ... ok
[INFO] [stdout] test evaluator::tests::test_array_index_expressions ... ok
[INFO] [stdout] test evaluator::tests::test_builtin_functions ... ok
[INFO] [stdout] test evaluator::tests::test_bang_operator ... ok
[INFO] [stdout] test compiler::tests::test_string_expressions ... ok
[INFO] [stdout] test evaluator::tests::test_eval_boolean_expression ... ok
[INFO] [stdout] test evaluator::tests::test_error_handling ... ok
[INFO] [stdout] test evaluator::tests::test_define_macros ... ok
[INFO] [stdout] test evaluator::tests::test_expand_macros ... ok
[INFO] [stdout] test evaluator::tests::test_function_application ... ok
[INFO] [stdout] test evaluator::tests::test_eval_integer_expression ... ok
[INFO] [stdout] test evaluator::tests::test_function_object ... ok
[INFO] [stdout] test evaluator::tests::test_hash_index_expressions ... ok
[INFO] [stdout] test code::tests::test_instruction_string ... ok
[INFO] [stdout] test compiler::tests::test_global_let_statements ... ok
[INFO] [stdout] test evaluator::tests::test_hash_literals ... ok
[INFO] [stdout] test evaluator::tests::test_if_else_expressions ... ok
[INFO] [stdout] test evaluator::tests::test_let_statements ... ok
[INFO] [stdout] test evaluator::tests::test_quote ... ok
[INFO] [stdout] test evaluator::tests::test_quote_unquote ... ok
[INFO] [stdout] test object::hash::tests::test_boolean_hash_key ... ok
[INFO] [stdout] test evaluator::tests::test_recursive ... ok
[INFO] [stdout] test lexer::tests::test_next_token ... ok
[INFO] [stdout] test object::hash::tests::test_integer_hash_key ... ok
[INFO] [stdout] test evaluator::tests::test_string_literal ... ok
[INFO] [stdout] test object::hash::tests::test_string_hash_key ... ok
[INFO] [stdout] test parser::tests::test_boolean_expressions ... ok
[INFO] [stdout] test parser::tests::test_function_parameter_parsing ... ok
[INFO] [stdout] test parser::tests::test_call_expression_parsing ... ok
[INFO] [stdout] test parser::tests::test_identifier_expressions ... ok
[INFO] [stdout] test parser::tests::test_function_literal_parsing ... ok
[INFO] [stdout] test parser::tests::test_if_else_expression ... ok
[INFO] [stdout] test parser::tests::test_if_expression ... ok
[INFO] [stdout] test parser::tests::test_integer_literal_expressions ... ok
[INFO] [stdout] test parser::tests::test_let_statements ... ok
[INFO] [stdout] test parser::tests::test_parsing_empty_hash_literal ... ok
[INFO] [stdout] test parser::tests::test_parsing_hash_literal_boolean_keys ... ok
[INFO] [stdout] test parser::tests::test_parsing_hash_literal_integer_keys ... ok
[INFO] [stdout] test parser::tests::test_parsing_hash_literal_string_keys ... ok
[INFO] [stdout] test parser::tests::test_parsing_hash_literal_with_expressions ... ok
[INFO] [stdout] test parser::tests::test_parsing_index_expressions ... ok
[INFO] [stdout] test evaluator::tests::test_return_statements ... ok
[INFO] [stdout] test evaluator::tests::test_string_concatenation ... ok
[INFO] [stdout] test parser::tests::test_return_statements ... ok
[INFO] [stdout] test parser::tests::test_parsing_infix_expressions ... ok
[INFO] [stdout] test parser::tests::test_macro_literal_parsing ... ok
[INFO] [stdout] test parser::tests::test_operator_precedence_parsing ... ok
[INFO] [stdout] test vm::tests::test_boolean_expressions ... ok
[INFO] [stdout] test parser::tests::test_parsing_array_literals ... ok
[INFO] [stdout] test vm::tests::test_calling_functions_wihtout_arguments ... ok
[INFO] [stdout] test parser::tests::test_string_literal_expression ... ok
[INFO] [stdout] test vm::tests::test_calling_functions_with_bindings ... ok
[INFO] [stdout] test vm::tests::test_array_literals ... ok
[INFO] [stdout] test vm::tests::test_conditionals ... ok
[INFO] [stdout] test vm::tests::test_functions_with_return_statement ... ok
[INFO] [stdout] test vm::tests::test_hash_literals ... ok
[INFO] [stdout] test code::tests::test_make ... ok
[INFO] [stdout] test parser::tests::test_parsing_prefix_expressions ... ok
[INFO] [stdout] test vm::tests::test_first_class_functions ... ok
[INFO] [stdout] test vm::tests::test_functions_without_return_value ... ok
[INFO] [stdout] test vm::tests::test_index_expressions ... ok
[INFO] [stdout] test vm::tests::test_global_let_statements ... ok
[INFO] [stdout] test vm::tests::test_integer_arithmetic ... ok
[INFO] [stdout] test vm::tests::test_string_expressions ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 83 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/wacir-555d1c1e29882534)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests wacir
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0b3b5e3181594cac9e27c8b81c4be6c3f9d03ed8016dc87a6e600643690760d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b3b5e3181594cac9e27c8b81c4be6c3f9d03ed8016dc87a6e600643690760d3", kill_on_drop: false }`
[INFO] [stdout] 0b3b5e3181594cac9e27c8b81c4be6c3f9d03ed8016dc87a6e600643690760d3
